System and method for sensor system against glare and control thereof

ABSTRACT

The present teaching relates to method, system, and implementations for glare control. A sensor housing assembly is provided on an autonomous vehicle to house at least one sensor therein and protect the at least one sensor from negative impact from an environment including glare from the environment that prevents the at least one sensor from capturing accurate information regarding a field of view with respect to the environment to facilitate autonomous driving of the autonomous vehicle. The negative impact on the at least one sensor is determined by a controller, which then activates a glare blocking mechanism in response to the determined negative impact. The glare blocking mechanism being mounted on the sensor housing assembly and configured to assist in blocking glare with respect to the at least one sensor.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/715,657, filed on Dec. 16, 2019, and entitled “System and Method forSensor System Against Glare and Control Thereof,” which is related toU.S. patent application Ser. No. 16/715,232, filed Dec. 16, 2019, andentitled “System and Method for Anti-Tampering Sensor Assembly,” U.S.patent application Ser. No. 16/715,268, filed Dec. 16, 2019, andentitled “System and Method for Anti-Tampering Mechanism,” U.S. patentapplication Ser. No. 16/715,306, filed Dec. 16, 2019, and entitled“System and Method for Detecting Sensor Adjustment Need,” U.S. patentapplication Ser. No. 16/715,375, filed Dec. 16, 2019, and entitled“System and Method for a Sensor Protection System,” U.S. patentapplication Ser. No. 16/715,499, filed Dec. 16, 2019, and entitled“System and Method for a Sensor Protection Assembly,” and U.S. patentapplication Ser. No. 16/715,624, filed Dec. 16, 2019, and entitled“System and Method for a Sensor Protection Mechanism,” all of which areincorporated in their entireties herein by reference.

BACKGROUND 1. Technical Field

The present teaching generally relates to sensors. More specifically,the present teaching relates to sensor assembly.

2. Technical Background

With the advancement of sensing technologies, automation in differentindustries relies on advanced sensing technologies to provideinformation about the surrounding of the automation site which forms thebasis for various computerized decision makings. For example, differentautomated assembly lines in different manufacturing sites deploy varioussensors to provide crucial information for the robots operating at suchsites to operate properly. As another example, driverless vehicle is anemerging field where sensing technology is essential for facilitatingthe computer system in a moving vehicle to make correct vehicle controldecisions in dynamic situations. In such applications, sensors inmultiple modalities may be deployed on different parts of a vehicle inorder to constantly provide observations of the surrounding of themoving vehicle. Such observations may include visual, acoustic, and 3Ddepth information. For instance, the moving vehicle needs to “see”clearly and accurately what obstacles are in the field of view and todetermine various relevant parameters associated with each of theobserved obstacles. For instance, an autonomous vehicle needs todetermine what is the pose of each obstacle in the field of view,whether each such obstacle is in motion, what is the velocity of eachsuch obstacle, and how far is each such obstacle from the moving vehicleat each moment. Such parameters need to be obtained based on continuous,clear, and accurate information from sensors in order for the computersystem to successfully achieve obstacle avoidance in real time.Therefore, there is a need to ensure that sensors deployed on autonomousdriving vehicles continuously provide accurate and uninterruptedperformance.

SUMMARY

The teachings disclosed herein relate to methods, systems, andprogramming for data processing. More particularly, the present teachingrelates to methods, systems, and programming related to modeling a sceneto generate scene modeling information and utilization thereof.

In one example, a method, implemented on a machine for glare control. Asensor housing assembly is provided on an autonomous vehicle to house atleast one sensor therein and protect the at least one sensor fromnegative impact from an environment including glare from the environmentthat prevents the at least one sensor from capturing accurateinformation regarding a field of view with respect to the environment tofacilitate autonomous driving of the autonomous vehicle. The negativeimpact on the at least one sensor is determined by a controller, whichthen activates a glare blocking mechanism in response to the determinednegative impact. The glare blocking mechanism being mounted on thesensor housing assembly and configured to assist in blocking glare withrespect to the at least one sensor.

In a different example, the present teaching discloses a system forglare control. The system comprises a sensor housing assembly, acontroller, and a glare blocking mechanism. The sensor housing assemblyis provided on an autonomous vehicle that houses at least one sensortherein and protects the at least one sensor from negative impact froman environment including glare from the environment that prevents the atleast one sensor from capturing accurate information regarding a fieldof view with respect to the environment to facilitate autonomous drivingof the autonomous vehicle. The controller is configured for determiningnegative impact on the at least one sensor. The glare blocking mechanismmounted on the sensor housing assembly and configured to assist inblocking glare with respect to the at least one sensor, wherein theglare blocking mechanism is configured to be activated via thecontroller in response to any determined negative impact.

Other concepts relate to software for implementing the present teaching.A software product, in accord with this concept, includes at least onemachine-readable non-transitory medium and information carried by themedium. The information carried by the medium may be executable programcode data, parameters in association with the executable program code,and/or information related to a user, a request, content, or otheradditional information.

In one example, a machine-readable, non-transitory and tangible mediumhaving data recorded thereon for glare control. Negative impact on atleast one sensor is determined based on sensor information from the atleast one sensor, wherein the at least one sensor is housed in a sensorhousing assembly on an autonomous vehicle for protecting the at leastone sensor from the negative impact from an environment including glarefrom the environment that prevents the at least one sensor fromcapturing accurate information regarding a field of view with respect tothe environment to facilitate autonomous driving of the autonomousvehicle. A glare blocking mechanism is activated in response to thedetermined negative impact, the glare blocking mechanism being mountedon the sensor housing assembly and configured to assist in blockingglare with respect to the at least one sensor.

Additional advantages and novel features will be set forth in part inthe description which follows, and in part will become apparent to thoseskilled in the art upon examination of the following and theaccompanying drawings or may be learned by production or operation ofthe examples. The advantages of the present teachings may be realizedand attained by practice or use of various aspects of the methodologies,instrumentalities and combinations set forth in the detailed examplesdiscussed below.

BRIEF DESCRIPTION OF THE DRAWINGS

The methods, systems and/or programming described herein are furtherdescribed in terms of exemplary embodiments. These exemplary embodimentsare described in detail with reference to the drawings. Theseembodiments are non-limiting exemplary embodiments, in which likereference numerals represent similar structures throughout the severalviews of the drawings, and wherein:

FIG. 1 illustrates an autonomous vehicle with sensors deployed thereon,in accordance with an embodiment of the present teaching;

FIG. 2A shows exemplary types of sensors that may be deployed on anautonomous vehicle, in accordance with an embodiment of the presentteaching.

FIG. 2B depicts exemplary different sensor racks mounted at differentparts of a vehicle to provide surround information to facilitateautonomous driving, in accordance with an embodiment of the presentteaching

FIGS. 3A-3B show exemplary configurations of attaching an inertialmeasurement unit (IMU) to a sensor, in accordance with an embodiment ofthe present teaching;

FIGS. 4A-4B show exemplary embodiments of deploying a sensor with an IMUattached thereto on an autonomous vehicle, in accordance with anembodiment of the present teaching;

FIG. 5 shows a fleet of autonomous vehicles with each having sensorsmounted thereon to facilitate autonomous driving, in accordance with anembodiment of the present teaching;

FIG. 6 depicts an exemplary sensor rack with different types of sensorsmounted thereon, in accordance with an embodiment of the presentteaching;

FIG. 7A depicts an exemplary conceptual sensor rack with sensors ofdifferent modalities installed therein, in accordance with an embodimentof the present teaching;

FIG. 7B depicts an exemplary conceptual sensor rack having sensorsinstalled therein with one or more IMUs attached to the sensor rack, inaccordance with an embodiment of the present teaching;

FIG. 8A depicts an anti-tampering mechanism with a sensor rack with IMUsattached thereon in connection with an in-vehicle anti-tampering system,in accordance with an embodiment of the present teaching;

FIG. 8B is a flowchart of an exemplary process of an anti-tamperingmechanism, in accordance with an embodiment of the present teaching;

FIG. 9A depicts an exemplary high level system diagram of an IMU, inaccordance with an embodiment of the present teaching;

FIG. 9B is a flowchart of an exemplary process of an IMU, in accordancewith an embodiment of the present teaching;

FIG. 10A depicts an exemplary high level system diagram of an in-vehicleanti-tampering system, in accordance with an embodiment of the presentteaching;

FIG. 10B is a flowchart of an exemplary process of an in-vehicleanti-tampering system, in accordance with an embodiment of the presentteaching;

FIG. 11A shows a camera lens with dirt or debris thereon and theresultant images with misleading information;

FIG. 11B shows an exemplary environment-proof sensor housing assembly,in accordance with an embodiment of the present teaching;

FIGS. 11C-11F shows different aspects of an environment-proof sensorhousing assembly, in accordance with an embodiment of the presentteaching;

FIG. 12A illustrates an exemplary embodiment for delivering or sprayinga cleaning fluid to part of the housing assembly, in accordance with anembodiment of the present teaching;

FIG. 12B illustrates an exemplary embodiment of a wiper assembly with awiper blade for cleaning part of the housing assembly, in accordancewith an embodiment of the present teaching;

FIG. 12C illustrates an exemplary embodiment for delivering air, via anair blower assembly with an air hose, to part of the housing assembly,in accordance with an embodiment of the present teaching;

FIG. 13A depicts an exemplary mechanism involving an environment-proofsensor housing assembly and an environment-proof sensor systemcontroller, in accordance with an embodiment of the present teaching;

FIG. 13B is a flowchart of an exemplary process of an environment-proofsensor system controller, in accordance with an embodiment of thepresent teaching;

FIG. 14A shows exemplary causes that give rise to a need to clean asensor assembly and exemplary configurations for such cleaning, inaccordance with an embodiment of the present teaching;

FIG. 14B depicts an exemplary high level system diagram of a sensingquality control unit, in accordance with an embodiment of the presentteaching;

FIG. 14C is a flowchart of an exemplary process of a sensing qualitycontrol unit, in accordance with an embodiment of the present teaching;

FIG. 15 depicts an exemplary construct of an environment-proof sensorrack assembly, in accordance with an embodiment of the present teaching;

FIG. 16A shows a curved frame-like structure incorporating differentcleaning tools therein, in accordance with an embodiment of the presentteaching;

FIG. 16B depicts an exemplary embodiment for environment-proof sensorrack with individual sensors incorporated therein and protected usingindividual section-based environment-proof assembly, in accordance withan embodiment of the present teaching;

FIGS. 17A-17B illustrate exemplary embodiments for glare protection withregards to the housing assembly and/or sensor rack, in accordance withan embodiment of the present teaching;

FIG. 18 is an illustrative diagram of an exemplary mobile devicearchitecture that may be used to realize a specialized systemimplementing the present teaching in accordance with variousembodiments; and

FIG. 19 is an illustrative diagram of an exemplary computing devicearchitecture that may be used to realize a specialized systemimplementing the present teaching in accordance with variousembodiments.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth by way of examples in order to facilitate a thorough understandingof the relevant teachings. However, it should be apparent to thoseskilled in the art that the present teachings may be practiced withoutsuch details. In other instances, well known methods, procedures,components, and/or circuitry have been described at a relativelyhigh-level, without detail, in order to avoid unnecessarily obscuringaspects of the present teachings.

The present teaching aims to address the deficiencies of the currentstate of the art in quality and accurate sensing in autonomous vehicles.As discussed herein, to ensure safe autonomous driving, having sensorsreliably provide accurate information about the surrounding of thevehicle is essential. The reliability requires assurance of presence ofsensors mounted where they should be. As vehicles may be exposed to thepublic (e.g., when parking on the street or a parking place), it isimportant to incorporate means to prevent tampering of the sensors onthe vehicle. The accuracy of the acquired information requires that suchsensors are in a condition to be able to obtain information of thesurrounding in a truthful and unambiguous manner. To sense theinformation intended, most sensors are installed so that they areexposed to the open space, subject to rain, snow, dust, sunshine, andoften debris from different sources. The present inventions disclosedifferent means and embodiments thereof to address the reliability andaccuracy issues.

FIG. 1 illustrates an autonomous vehicle 100 with different sensorsdeployed thereon, in accordance with an embodiment of the presentteaching. In this illustrated embodiment, the autonomous vehicle is atruck (without trailer) that has sensors mounted on top and in front ofthe vehicle. The exemplary sensors as shown in FIG. 1 includes, forinstance, stereo cameras 110 and 130 on top of the truck 100 forobserving obstacles located in front of the vehicle, a LiDAR sensor 120for providing depth information of the front view, a radar sensor 150 atthe front of the truck, and additional cameras 140 and 150 for observingthe road conditions. These exemplary sensors are installed at theirdesignated positions and each is responsible for certain roles to gatherspecific type of information useful for the vehicle to make autonomousdriving related decisions. For example, stereo camera pair 110 and 130may be designated to not only see the scenes (objects such as trees,road signs, buildings, other obstacle vehicles, and lane marks, etc.)but also estimate the depth of the objects observed. The LiDAR sensor120 may be designated to measure the depth information of the scene infront of the vehicle 100 and provide a depth map. Radar sensor 150 maybe used to sense the obstacles at the low height to detect any obstacleson the road surface in front of the vehicle. Camera 140 and 160 may beused to detect the obstacles close to the road surface such as lanemarks immediately before the vehicle.

Different types of sensors may be deployed on an autonomous vehicle.FIG. 2A shows exemplary types of sensors that may be deployed on anautonomous vehicle, in accordance with an embodiment of the presentteaching. Sensors may be in multiple modalities (200). Some sensors maybe directed for active sensing (210), some may be directed forenvironment sensing (220), and some may be passive sensing (230).Examples of active sensors may include radar sensor (210-1), LiDARsensor (210-2), that act (emit and measure) actively to collectinformation needed. Examples of passive sensors include photographicsensors such as cameras (230-2) or thermal sensors (230-1) that collectdata on whatever imprinted on them. Environment sensing may be conductedbased on information from one or more sensors and what is sensed isabout the environment such as the lighting condition (220-1), theweather condition such as rain or snow (220-2), the condition of theroad such as being wet or covered by snow (220-3), driving relatedparameters such as slope of the road (220-4), . . . , and condition ofthe traffic such as how crowded the road is (220-5).

Different sensors responsible for gathering designated information maybe strategically installed at appropriate parts of the vehicle. This isshown in FIG. 2B, where different sensor racks are mounted at differentparts of a vehicle to provide sensing information to facilitateautonomous driving, in accordance with an embodiment of the presentteaching. Each sensor rack may have one or more sensors mounted therein.In this illustrated embodiment, there are four visible sensor racks 250,260, 270, and 280, installed on different locations of truck 240,respectively, on the top (250), at the low front (260), at the frontside (270), and at the right side of the truck (280). There may beparallel or counterpart of sensor racks 270 and 280 installed on theopposing sides of the truck (not shown). Each rack may also havedifferent types of sensors mounted. For instance, the sensors in rack250 may be for long distance obstacle observation in terms of bothvisually observable objects and their depth measurements. The sensorrack 260 may include sensors responsible for detecting obstacles in acloser distance to the vehicle 240. The sensors racks installed on thesides of the truck may be for observing obstacles on both sides of thevehicle 240. The back of the truck may also have a rack with sensorsdesignated for observe what is in the rare end of the vehicle. In thismanner, the truck is made aware of its surroundings so that anyautonomous driving decision may be made according to the surroundingsituation.

When such sensor racks are installed on a vehicle for their respectiveroles to collect needed information, it is essential that such sensorsare always present when the vehicle is on the move. As the sensors andsensor racks are installed in the clear, it is a reasonable concern thatsuch sensors and sensor racks may be tampered illegally or even stolen,rendering the vehicle not capable of self-driving. According to someembodiments of the present teaching, inertial measurement unit or IMUmay be used to implement an anti-tampering mechanism. Suchanti-tampering mechanism may be implemented both for individual sensorsand for sensor racks. FIGS. 3A-3B show exemplary anti-tamperingmechanism for an individual sensor using an IMU, in accordance with anembodiment of the present teaching. FIG. 3A shows that an IMU 310 isattached to a sensor 110 so that the sensor 110 is sitting on top of theIMU 310. FIG. 3B shows a different configuration in which an IMU 320 isattached to the top of a sensor 110. Such an IMU unit is capable ofdetecting various types of states associated therewith, including itsown pose, the vibration it experiences, other types of information theIMU is made to detect. The IMU is also configured to be capable ofreporting such detected information so that any disturbances making itdeviate from its initial states may be used to detect a tampering event.In some embodiments, the IMU may also be attached to other parts of thesensor, e.g., attaching to its side (not shown). In general, the IMU maybe attached to any location of a sensor and be made to continuouslyreport information about its states.

In both configurations, the IMU and the sensor are attached to eachother in such a way that, when moving the sensor from an affixed pose,the construct (the sensor plus the IMU) will necessarily disturb thepose of the IMU. That is, movement of the sensor results in movement ofthe IMU. The attachment between the IMU and sensor, or alternatively,the IMU(s) and the sensor housing assembly, may be achieved viadifferent means, either directly or indirectly. In embodiments,mechanical and/or structural mechanisms may be implemented forattachment, such as, but not limited to, strong glue, adhesive, one ormore mounting frames, one or more magnets, one or more plates,fasteners, connectors (including lugs, snaps, and corresponding matingdevices (e.g., male-female connectors)), and/or combinations thereof. Inan embodiment, the IMU and the sensor may be securely mounted within anenclosure or a box for attachment relative to one another. Once attachedwith each other, the construct containing both the sensor and the IMUmay be installed as one unit on the vehicle, as shown respectively inFIGS. 4A and 4B. FIG. 4A shows that a sensor 110 with an IMU 310attached thereto in a configuration as shown in FIG. 3A as a constructwhich is then mounted on top of vehicle 100. FIG. 4B shows that a sensor110 and an IMU 320 are attached together in a configuration as shown inFIG. 3B as a construct which is then mounted on top of vehicle 100. Tomove sensor 110 from vehicle 100, one can move the entire constructbecause each of the sensor 110 and IMU is not individually separable.With this mechanism, when vehicles are in a parking state, as shown inFIG. 5 , if the sensors mounted on such parked vehicles are tamperedwith, the attached IMUs will sense a disturbance of the poses and maythen take actions such as yielding an alarm. Details are discussed inreference to FIGS. 8A-10B.

As discussed herein, sensors deployed on an autonomous vehicle may alsobe mounted in a sensor rack. FIG. 6 depicts an exemplary sensor rackwith different types of sensors mounted thereon, in accordance with anembodiment of the present teaching. As shown, a sensor rack 600 hasdifferent types of sensors mounted thereon, including, e.g., stereo paircameras (left and right stereo cameras), LiDAR sensors, wide dynamiccamera, long range camera, night vision camera, and rare cameras, etc.When such a sensor rack is installed on a vehicle, each of the sensorsinstalled therein may be deployed to play their respective sensingroles. Such a sensor rack may also be subject to tampering or stealing.To prevent such tampering, the disclosed approach of using IMU unit mayalso be applied to sensor racks.

FIG. 7A depicts an exemplary conceptual sensor rack 700 with multiplesensors of different modalities installed therein, in accordance with anembodiment of the present teaching. Although only three sensors in twodifferent modalities are shown therein are only two types of sensors, itis merely for illustration instead of as a limitation. As shown in FIG.6 , more and more types of sensors may be installed in a single sensorrack. In the embodiment illustrated in FIG. 7A, there are two cameras(110 and 130, which may be a stereo pair) and one LiDAR sensors (120).Such a sensor rack may be mounted on a vehicle and measures need to beemployed to prevent tampering. FIG. 7B depicts the exemplary conceptualsensor rack 700 having sensors installed therein and with one or moreIMUs attached to the rack to facilitate tamper detection, in accordancewith an embodiment of the present teaching. In this illustratedembodiment, a plurality of IMUs are attached to the sensor rack 700. Ingeneral, one or more IMUs may be attached to different locations of thesensor rack 700. In this embodiment, two IMUs (720, 730) are placed ontop of the sensor rack 700 and one IMU is attached to either end of thesensor rack 700 (710 and 740). The IMUs in this illustrated embodimentwith respect to the sensor rack 700 play the same role as the IMUsattached to individual sensors as shown in FIGS. 3A-4B. That is, if thesensor rack 700 is tampered with, it will cause the IMUs to detect adeviation from their initial poses and such detected deviation may beused to detect tampering.

To utilize the detected pose deviation of an IMU for detectingtampering, the IMUs attached to sensors or sensor racks may be incommunication with certain anti-tampering mechanism that may beconfigured to react to any signals from IMUs and take certain actions toprevent tampering. FIG. 8A depicts such an anti-tampering mechanism of asensor rack with IMUs attached thereon and connected with an in-vehicleanti-tampering system 800, in accordance with an embodiment of thepresent teaching. In this illustrated embodiment, each of the exemplaryIMUs attached to the sensor rack 700 continually, once in operation,checks its pose, state, and vibration and report the detected data. Thechecks may be continuous with certain configured intervals. The IMUs arein communication with the in-vehicle anti-tampering system 800 so thatthe IMUs report the detected poses, states, and vibrations to thein-vehicle anti-tampering system 800.

Depending on the received information from the IMUs, the in-vehicleanti-tampering system 800 determines whether there is any tamperingevent. Such an event may be associated with a severity of the detecteddata (pose change, vibration) from the IMUs. For example, if the posedeviation and/or vibration reported is beyond some specified range, thein-vehicle anti-tampering system 800 may consider that tampering eventis present. To react to a detected tampering event, the in-vehicleanti-tampering system 800 may activate its internal mechanism to triggeralarm. In some embodiments, the in-vehicle anti-tampering system 800 mayalso send alert signals to some remote sites according to certainconfigurations. In some embodiments, once the alarm is triggered, thein-vehicle anti-tampering system 800 may not only trigger loud alarm inthe vehicle but also activate appropriate (may be all) sensors to startrecording the surrounding of the vehicle to capture any informationassociated with the detected tampering event. Such recorded data fromactivated sensors may also be sent to the remote sites via theconnections thereto.

In some embodiments, the data (pose, state, and vibration) reported fromthe IMUs may also be used to enable other tasks. For instance, to relyon sensor data to control autonomous driving, sensors on the vehicleneed to be calibrated properly. For example, to detect depth of observedobstacles, stereo cameras may be deployed and calibrated so that imagesfrom left and right cameras in a stereo pair may be used to compute adepth map. The accuracy of the estimated depth information may be afunction of proper calibration. Due to driving, the poses of sensors maychange because of, e.g., vibration of the vehicle. Such changes may leadto inaccuracy in stereo based depth estimation, causing problems inautonomous driving. In this situation, re-calibration may be neededbased on the new (shifted) poses of the two cameras. The need for suchre-calibration may be detected based on the detected pose informationfrom the IMUs and the expected poses of the calibrated cameras. In somesituations, if the pose of a camera has changed to a degree thatrequires the sensor be re-installed, the information from IMUs enablesthe in-vehicle system 800 to detect that and alert the driver of thevehicle to proceed to fix the mounting of the sensor. Thus, the IMUs maybe used for not only the purpose of detecting tampering but also forsensing the need for re-installation and/or re-calibration of somesensors.

FIG. 8B is a flowchart of an exemplary process of the anti-tamperingmechanism shown in FIG. 8A, in accordance with an embodiment of thepresent teaching. At 810, the IMUs detect the poses, states, andvibrations respectively and send such information to the in-vehicleanti-tampering system 800. Upon receiving the information from the IMUs,the in-vehicle anti-tampering system 800 determines, at 820, whether thedetected vibration from any of the IMUs is greater than a threshold.When the vibration level exceeds a threshold, the in-vehicle system 800considers it as a sensor tampering event. Thus, the first test to beperformed is the level of vibration. The threshold on vibration todetect a tampering event may be pre-determined or dynamicallydetermined. For instance, the threshold may be set based on an averagelevel of vibration that the vehicle experienced in the last fixed periodof time. If the vehicle has been driving on a rough road, the averagelevel of vibration may be higher so that the threshold for a vibrationlevel that may indicate tampering may be set higher. In some embodiment,the system may be configured in such a way that when the vehicle is inmotion, the threshold is set so high that no vibration will trigger adetected tampering event. In some embodiment, when the vehicle is inmotion, the in-vehicle anti-tampering system 800 may be configured notto act on the vibration detected and in effect, without detection of atampering event. That is, the in-vehicle anti-tampering will operateonly when the vehicle is in a parking mode. In this mode, the thresholdfor vibration may be set quite low so that any unexpected vibration maybe considered as a tampering event.

If the vibration exceeds the threshold, determined at 820, thein-vehicle anti-tampering system 800 triggers, at 860, the alarm in thevehicle. Such alarm may include certain loud siren-like sound deliveredvia, e.g., the speakers in the vehicle. In addition, the in-vehicleanti-tampering system 800 may also determine, at 870, some sensors to beactivated to record the surround information. For example, based onwhich IMU reported high level of vibration, sensors located in thevicinity of the IMU may be activated. In some embodiments, thein-vehicle anti-tampering system 800 may active more sensors to recordinformation, e.g., all sensors along the same side of the vehicle wherethe IMU is located or even all sensors deployed on the vehicle to recordinformation observed. In some embodiments, the sensors to be activatedto record information may be of certain types, e.g., visual sensors andacoustic sensors (without LiDAR or radar sensors). The determinedsensors are activated at 880 to collect surrounding information. In someembodiments, the in-vehicle anti-tampering system 800 may be configuredto information a remote site of the detected tampering event by sendingan alert (of the tampering event) and the information collected from theactivated sensors to the remote site.

If the vibration level from all IMUs are below the threshold, it mayindicate that there is no tampering event. In this case, the in-vehiclesystem may proceed to detect whether there is any sensor that needs tobe re-installed or re-calibrated. As discussed herein, sensors mountedon the vehicle may have been previously calibrated based on theirinstallation positions. During driving and/or over time, theinstallation may become loose due to, e.g., vibration of the vehicle,causing changes in their poses and hence leading to inaccuracy indetecting obstacles. When the change in a sensor's pose is small,re-calibration may be carried out, which may be done on-the-fly. In somesituations, if the change in a sensor's pose is too significant, anon-the-fly calibration may not be able to bring back the accuracy (e.g.,when a left camera in a stereo pair becomes severely tilted). In thissituation, re-installation may be required.

To detect different situations, information received from the IMUs,i.e., poses/states, may be compared, at 830, against the known orexpected (correct) poses/states of the respective sensors. Based on thecomparison results, the in-vehicle system 800 determines, at 840,whether re-installation is needed for any of the sensors. If there isany sensor requires re-installation, the in-vehicle system 800 sends analert, at 895, to the driver indicating which sensor requires are-installation. Such an alert may be sent to an interface with thedriver such as the dashboard or may also be delivered via a voicecommunication or enter into a log for all maintenance tasks needed forthe vehicle. After alerting the driver of the needed re-installation,the in-vehicle system 800 continues to check, at 850, the need forre-calibrating any of the sensors based on the comparison results.

If the comparison results indicate that no re-installation is needed,determined at 840, the in-vehicle system 800 proceeds directly to 850 tocheck if re-calibration is needed. The need for re-calibration may bedetermined based on some pre-determined criteria. In some embodiments,such criteria may be defined based on the amount of deviation of thecurrently detected poses from a known and expected (correct) poses withrespect to different types of sensors. For example, for a stereo pair ofcameras, a slight drop in height of one camera may cause significanterror in estimated depth if the transformation matrix in stereocomputation assumes that the left and right cameras be horizontal. Inthis case, even though the deviation is not significant, re-calibrationmay be needed. On the other hand, if the height of a LiDAR sensordropped, it may not matter that much so long as the field of view of theLiDAR camera can still cover the critical region in front of thevehicle. If no re-calibration is needed for any of the sensors, thein-vehicle system 800 proceeds to 810 to receive information(pose/state/vibration) from the IMUs. If any of the sensors requiresre-calibration, the in-vehicle system 800 initiates, at 855, thecorresponding re-calibration process and then proceeds to 810 tocontinuously receive information from IMUs.

FIG. 9A depicts an exemplary high level system diagram of an IMU, inaccordance with an embodiment of the present teaching. In someembodiments, an IMU such as 310 is a reporting device configured tosimply detect self-aware information and send such collected informationout. In this illustrated embodiment, the IMU 310 comprises a vibrationdetector 910, a state detector 930, a pose detector 940, and acommunication unit 920. The vibration detector 910 is configured todetect the vibration that the IMU experiences. The state detector 930 isconfigured to detect the current state of the IMU such as its currentoperational state. The pose detector 940 is configured to detect thecurrent pose of the IMU which may include its latitude, longitude, andorientation. The detection of each detector may be carried out based onsome pre-configured schedule stored in a detection schedule 960. Thedetected information from each of the detectors may then be sent to thecommunication unit 920 which is then forward the received detectionresults to the in-vehicle anti-tampering system 800.

FIG. 9B is a flowchart of an exemplary process of an IMU, in accordancewith an embodiment of the present teaching. The IMU may be configured todetect different types of information based on a schedule with somepre-determined detection intervals. To control the detection activities,vibration unit 910, state detector 930, and pose detector 940 mayaccess, at 905, the detection schedule stored in 960 and then determine,at 915, whether it is time to detect respective information by each ofthe detectors based on the schedule. In some embodiments, the schedulefor each of the detectors may be configured differently. For example,the scheduled interval for detecting vibrations may be smaller than thatof detecting the state and/or pose. The scheduled intervals for eachtype of information detecting may be set in accordance with, e.g., whatthe corresponding information signifies and how important theinformation is with respect to a tampering activity. For instance,vibration that exceeds a certain threshold may signify an on-goingtampering event so that it is very important to detect vibration in atimely fashion. On the other hand, information related to a change in apose may or may not be associated with a tampering event because thepose of the IMU may change with the movement of the vehicle and/or thecondition of the road the vehicle is on.

In some embodiments, the schedule for each of the detectors may also beconfigured dynamically. For instance, while the vehicle is in motion,the scheduled intervals for different detectors may be set longer basedon an assumption that it is less likely that tampering will occur whenthe vehicle is in motion. The intervals may also be set based on rangesof speed at which the vehicle is moving, e.g., the higher speed, thelarger intervals, the lower speed, the smaller intervals. At the extremesituation, when the speed of the vehicle reaches zero (parking state),the scheduled intervals may be re-set to small values because it is morelikely that tampering will occur when a vehicle is in a parking state.

Once it is determined that a detection of a particular type ofinformation is needed according to the respective detection schedule,the relevant detector proceeds to detect the information it isdesignated for. For example, if it is determined that it is time fordetecting vibration according to the schedule associated with vibration,the vibration detector 910 proceeds to detect, at 925, the level ofvibration that the IMU is experiencing. Similarly, if it is determinedthat it is time for detecting the pose of the IMU according to theschedule associated with pose information, the pose detector 940proceeds to detect, at 935, the current pose of the IMU. If it isdetermined that it is time for detecting the state of the IMU accordingto the schedule associated with vibration, the state detector 930proceeds to detect, at 935, the state associated with the IMU. Theinformation (whether vibration, pose, or state) detected by one or moreof the detectors in the IMU is then sent to the communication unit 920,which is responsible for transmitting, at 955, the information sodetected to the in-vehicle anti-tampering system 800.

FIG. 10A depicts an exemplary high level system diagram of thein-vehicle anti-tampering system 800, in accordance with an embodimentof the present teaching. As discussed herein, the in-vehicleanti-tampering system 800 may be deployed inside of the vehicle and isconfigured to interface with the IMUs to receive detected informationrelated to vibration/pose/state sensed by the IMUs and then determinewhether there is a tampering event based on the received information. Ifthe in-vehicle anti-tampering system 800 estimates an on-going tamperingevent, the in-vehicle anti-tampering system 800 may then trigger analarm to create a loud siren sound, activate sensors useful togather/store observations from sensors around the IMUs whose reporteddata led to the determination of a tampering event, and/or forward analert about the sensed tampering event and observed surroundinginformation from the activated sensors to a remote location (e.g., anowner of the vehicle or a fleet control center).

To achieve the needed functionalities, the in-vehicle anti-tamperingsystem 800 comprises an update controller 1000, a sensor specialoperation controller 1020, an alert communication unit 1030, a sensorinstallation determiner 1010, a sensor calibration determiner 1050, anda sensor calibration scheduler 1040. FIG. 10B is a flowchart of anexemplary process of the in-vehicle anti-tampering system 800, inaccordance with an embodiment of the present teaching. In operation, theupdate controller 1000 first receives, at 1005, IMU readings from allIMUs. To detects any event, the update controller 1000 may check, at1015, the vehicle state information stored in 1060. Such storedinformation may include various information regarding the status of thevehicle (e.g., whether it is currently in motion or not, speed of themotion, etc.), the configuration that governs the functions of thein-vehicle anti-tampering system 800. In some embodiments, via suchconfiguration information, the in-vehicle anti-tampering system 800 maybe configured in such a way that whenever the vehicle is in motion, theIMU readings may be ignored, e.g., based on an assumption that when thevehicle is in motion, there cannot be any tampering activities. In someembodiments, an alternative configuration may also be provided to allowthe in-vehicle anti-tampering system 800 to continue, even when thevehicle is in motion, monitor the IMU readings to detect differentevents caused by tampering and disposition of any sensor that maywarrant alarm, re-installation, or re-calibration of certain sensors.

If the configuration indicates that the update controller 1000 is toignore the IMU readings, the process loops back to step 1005 to continueto receive IMU readings from IMUs and check whether such received datashould be further processed. When the IMU data need to be processed (ornot ignored), determined at 1025, the update controller 1000 comparesthe received vibration information associated with each sensor to whichan IMU is attached with the vibration threshold stored in 1002 anddetermine, at 1017, whether there is a tampering event directed to thesensor. As discussed herein, such vibration threshold may be pre-set,either as a static parameter or as an adaptively adjustable based on thedynamic situations. For example, when the vehicle is in motion, thethreshold may be set higher and when the vehicle is in a parking state,the threshold may be set low so that a slight vibration of an IMUassociated with a sensor or a sensor rack may be detected as a tamperingevent.

When the vibration level reported by an IMU associated with a sensorexceeds the vibration threshold 1002, the update controller 1000 maytrigger an alarm 1007 at 1025 to generate some loud siren sound. Inaddition, the update controller 1000 may also invoke the sensor specialoperation controller 1020 to activate, at 1027, appropriate sensorsselected to start to record their respective surround information. Thesensors selected to record the information surrounding the sensor thatis considering being tampered with may correspond to those that can beused to capture relevant information (visual, acoustic, etc.) associatedwith the tampering event. To identify such sensors, the sensor specialoperation controller 1020 may access the sensor configurationinformation stored in a sensor information storage 1080 to determinephysically nearby sensors, nature of each of such adjacent sensors,fields of view of such sensors, etc. and select appropriate ones forrecording the surrounding information.

Based on the selected sensors, the sensor special operation controller1020 sends activation signals to the selected sensors, receives thesensing signals from such sensors, and provides the received sensedinformation to the alert communication unit 1030. When the vehicle is ina parking state, normally sensors are turned off without activelyrecording the surrounding information. In the mode of operation beingdiscussed herein, when a tampering event is detected, various sensorsaround the detected tampering location may be activated in the manner asdescribed to capture multi-modal sensor data associated with thetampering event. Such captured surround information may be stored in thein-vehicle anti-tampering system 800 (not shown) or be sent, at 1035, toa remote location to preserve the evidence. The recorded information maybe sent together with an alert to the remote location, which can be acommunication device of a driver of the vehicle or a remote controlcenter that is responsible for monitoring the operation of the vehicle(e.g., a truck fleet).

When there is no tampering event detected, determined at 1017, the IMUreadings may be used to detect other maintenance related needs. Asdiscussed herein, IMU data associated with sensors may be used by thesensor installation determiner 1010 and the sensor calibrationdeterminer 1050, at 1045 and 1075 respectively, to determine whetherre-installation or re-calibration is needed. In some embodiments,re-installation may be warranted when the disposition of the pose of asensor is relatively severe which may render the sensor unreliable. Thesensor installation determiner 1010 may determine, at 1055, whether are-installation is needed based on the vehicle state information from1060. For instance, if the vehicle is moving at a high speed and a LiDARsensor in front of the vehicle is severely dislocated (e.g., due to thebumpy road condition), this situation may cause serious safety concernif the vehicle is being operated in an autonomous mode. In this case,once the sensor installation determiner 1010 detects the situation, itmay immediately invoke the alert communication unit 1030 to alert, at1065, the driver so that the driver may switch to a manual drive mode,stop the vehicle to re-install the sensor.

If no re-installation is needed, the sensor calibration determiner 1050determines, at 1075, whether any of the sensors associated with the IMUreadings requires re-calibration. Such a determination may be made basedon information related to calibration states recorded in 1070. Forinstance, if a pair of stereo cameras had been previously calibrated todevelop a transformation matrix and the calibration assumptions andcamera positions may be also recorded, e.g., the assumption may be thatthe two cameras are assumed to be horizontal and recorded also mayinclude the poses of the two cameras. When the in-vehicle anti-tamperingsystem 800 receives information from IMUS, it may compare the reportedposes of the cameras with the recorded poses to see, e.g., whether theassumption of horizontal alignment is still true, etc. If the currentposes indicate that the two stereo cameras are no longer horizontallyaligned, the previously calibrated transformation matrix is no longersuitable in estimating the depth based on two images acquired by the twostereo cameras. In this case, re-calibration of the stereo cameras maybe needed to adjust the transformation matrix given the current poses ofthe cameras. TO do so, the sensor calibration determiner 1050 may invokethe sensor calibration scheduler 1040 to schedule, at 1095, an upcomingtask for re-calibrating the sensors at issue.

In some embodiments, re-calibration may be performed on-the-fly whilethe vehicle is in motion. In some embodiments, re-calibration may needto be performed offline while the vehicle is not in motion. A schedulefor a re-calibration may be set according to the urgency of the issue.For instance, if a pose deviation is large and/or the sensor at issue isof importance in autonomous driving, the re-calibration may be scheduledto be performed in a short time. For any sensors, if on-the-flyre-calibration is not available and the vehicle is in motion, the sensorcalibration determiner 1050 may also invoke the alert communication unit1030 to send an alert to an appropriate party such as the driver or aremote monitoring center (not shown in FIG. 10B).

Via the IMUs and the in-vehicle anti-tampering system 800, a tamperingevent can be detected, alarmed, and reported. At the same time, thedetection of such an event may trigger sensors to record the informationsurround the event, providing useful evidence associated with thetampering. In addition, IMU readings may also be utilized to detect theneeds for making adjustment to the sensors that have been detected asmisaligned due to whatever reason. Detection of such needs may becrucial to ensure proper operation of sensors in an any autonomousvehicle and is a key to safety.

There may be other aspects of the sensors in addition to theirinstallation and proper poses that may impact the operation of thesensors and, hence, the safe operation of an autonomous vehicle. Forexample, sensors are usually installed in the open air and are subjectto wind, dust, debris, or other issues caused by the environment and/orwear and tear. Certain types of sensors may be more vulnerable to suchenvironment related issues. For instance, if raindrops exist on the lensof a camera, it prevents the camera from getting a truthful picture ofthe scene in its field of view. Debris deposited on the lens of a camerawill create the same problem. Even without such deposits on the lens,exposing a camera in the open air for an extended period of time mayalso allow enough accumulation of dusts on the lens, affecting theability of sensing the accurate information in the field of view.

FIG. 11A shows a camera 1110 with lens 1102 having environment inducedobjects deposited thereon and the resultant images. As seen, camera lens1102 is shimmered with environment particles that prevent the camerafrom capturing accurate information. Image 1107 illustrates one exampleimage acquired by camera 1110, where the acquired image includes manyround sub-objects likely corresponding to debris deposited on the lens1102 that effectively block the view of the scene that is intended to becaptured using camera 1110. Image 1110 is another exemplary imageacquired by camera 1100. As seen from the image 1110, there are variousseemingly spurious objects identified by detected edges from the image.Such spurious objects may correspond to, e.g., rain drops deposited onthe lens of the camera. In some situations, some events such aslight/sun glare may also cause degradation in images.

In some situations, a sensor such as a camera may be enclosed in ahousing so that the lens of the camera are not subject to differentundesired objects/events. However, a medium through which a camerasenses visual information, e.g., a transparent cover on the housing infront of the lens of the camera may still be impacted by the environmentbecause such undesired objects/events may still occur on the transparentcover. The spurious objects/events from the environment as appeared inan image of a scene acquired by the camera may be detected from theimage using various known signal processing techniques, such as acombination of edge detection, texture analysis, artificial intelligence(AI) based inference/reasoning/learning algorithms. In using AI basedtechniques, heuristics may be applied to define characteristics ofdifferent types of spurious objects/events to facilitate the detectionof such spurious objects/events that are present in sensor data likelydue to negative environmental impact and, hence, represent degradationof the acquired image.

Through such processing, degradation in images may be identified and, insome situations, the detected degradation information may also be usedto estimate the cause of the degradation. For example, if many smallsub-objects are detected persistently in multiple frames of pictureseven though other objects underwent different motions (e.g., other carson the road, buildings passed by, etc.), it may be estimated that suchsub-objects may correspond to environment deposits on camera lens or ona cover thereof. The issue with such degraded images is that it preventsan autonomous vehicle from getting a true representation of itssurrounding, inhibit its ability to make safe and reliable auto drivingdecisions. Thus, a mechanism is needed for protecting sensors or sensorracks from such environment related impact.

FIGS. 11B-11F show different aspects of an environment-proof sensorhousing assembly, in accordance with an embodiment of the presentteaching. FIG. 11B depicts an exemplary environment-proof sensor housingassembly 1120 with means incorporated thereon for protecting a sensorhoused therein (optionally in its own housing placed in the assembly1120) from negative impact from the environment, in accordance with anembodiment of the present invention. In this illustrated embodiment, theenvironment-proof sensor housing assembly 1120 comprises 6 sides withone side being a slanted surface 1170 as depicted in more detail in FIG.11B. The slanted surface 1170 of the housing serves as a window to thesensor inside of the environment-proof sensor housing assembly 1120. Forinstance, if the sensor is a camera 1125, the lens of the camera “sees”the scene in the field of view through the slanted surface 1170 andgather visual information about the scene. For that purpose, the slantedsurface 1170 may be made of a transparent material to allow the camerato see through.

The slanted surface 1170 may be provided at an angle relative to alongitudinal axis L-L of the housing assembly 1120, in accordance withan embodiment. In one embodiment, the slanted surface 1170 may beprovided at an acute angle α relative to the longitudinal axis L-Land/or a plane or surface (e.g., bottom surface of housing assembly1120) that runs parallel to longitudinal axis L-L. In thisconfiguration, for example, the slanted surface 1170 may make it moredifficult for undesired objects deposited thereon to remain. In anotherembodiment, the slanted surface 1170 may be provided at an obtuse anglerelative to the longitudinal axis L-L and/or a plane or surface (e.g.,bottom surface of housing assembly 1120) that runs parallel tolongitudinal axis L-L. In yet another embodiment, the slanted surface1170 may be provided at a right angle or substantially perpendicular tothe longitudinal axis L-L and/or a plane or surface (e.g., bottomsurface of housing assembly 1120) that runs parallel to longitudinalaxis L-L.

Inside the environment-proof sensor housing assembly 1120, there may bean additional interior housing 1105, in accordance with an embodiment.The interior housing 1105 may be where a sensor such as a camera residesin the assembly. In an embodiment, the interior housing 1105 may beembedded within the housing assembly 1120. In one embodiment, theinterior housing 1105 may be in the form of a rectangular prism having alongitudinal axis along axis L-L. In an embodiment, the housing assembly1120 may be in the form of a trapezoid prism, wherein its longitudinalaxis L-L is parallel to the longitudinal axis of the interior housing1105 (or vice versa).

Additionally, in accordance with an embodiment, a protruded portion 1165may be provided that extends between the interior housing 1105 and thehousing assembly 1120. The protruded portion 1165 also has alongitudinal axis parallel to the longitudinal axis L-L. The protrudedportion 1165 interfaces with the slanted surface 1170, as shown in FIGS.11C-11E. The protruded portion 1165 may be in the form of a tube thattruncates or ends at the interface with the slanted surface 1170. Oneend of the protruded portion 1165 is firmly connected with theadditional interior housing 1105 and the other end of the protrudedportion 1165 may be open with a slanted cross section. The slanted crosssection has a same angle as that of the slanted surface 1170 so that thetwo can meet (see FIGS. 11D-11E) to form a combined closed construct asillustrated in FIGS. 11B and 11F. In this illustrated embodiment, theslanted surface 1170 corresponds to a front side of the housing assembly1120 that meets the cross section of the protruded portion 1165 and hasthe norm of the cross section. In one embodiment, the sensor is a camerawith its lens facing the cross section of the protruded portion 1165 sothat visual information is sensed by the camera through the transparentslanted surface 1170 of the housing assembly 1120.

Around the slanted surface 1170, there may be a frame-like structure1115 (in both FIGS. 11B and 11C) on which one or more mechanisms ordevices may be deployed to enable different means to clean the slantedsurface 1170. Each mechanism or device may be associated with adesignated cleaning task. The one or more mechanisms may be individuallyor jointly activated as needed to clean the slanted surface 1170 inorder to prevent degradation in the information sensed by the sensor. Insome embodiments, the one or more mechanisms or devices may include afluid cleaning device, a wiper assembly, and an air blower assembly.

In the illustrated embodiment as shown in FIG. 11B, at the top of theframe-like structure 1115, there are horizontally and evenly spacedhydrophobic spray holes 1130 which allow cleaning fluid to flow out ofthe holes and down along the slanted surface 1170 to wash clean theslanted surface 1170. The spray holes may be connected to some fluidreservoir or tank (see FIG. 12A) to which pressure may be applied tocontrol fluid dynamics. Connected with each of the spray holes, theremay also be one or more valves, each of which may be controlled to open,partial open, or close to allow fluid to flow out of the spray holes.

FIG. 12A illustrates an example embodiment for delivering or spraying acleaning fluid to slanted surface 1170 using a fluid cleaning device, toremove debris and/or particles therefrom. As shown, the spray holes 1130may be part of a spray manifold 1200. That is, the fluid cleaning devicecomprises spray manifold 1200, spray holes 1130, and a source 1215 ofcleaning fluid, such that cleaning fluid is delivered from the source1215 to the slanted surface 1170 via the manifold 1200 and spray holes1130. The spray holes deliver or spray the cleaning fluid, such as ahydrophobic fluid or liquid, to the slanted surface 1170. Manifold 1200may be a body that has a passage therein that is adapted to receivecleaning fluid (from a source, e.g., tank 1215) for delivery(simultaneously) to the spray holes 1130, for output of the cleaningfluid. Connected to the manifold 1200 is an optional delivery device1205 configured to deliver cleaning fluid from a source (e.g., reservoiror tank 1215) to the manifold 1200. Delivery device 1205 may be in theform of a structure positioned on the housing assembly 1120, like aconduit, a tube, a pipe, or a hose, for example, and is not intended tobe limiting.

The source, reservoir, or tank 1215 is a container configured to storecleaning fluid or washer fluid, such as a hydrophobic fluid or liquid orother type of cleaning fluid. An optional pump 1210 may be connected tothe tank 1215 and to the (optional) delivery device 1205. The pump 1210may be adapted to pump the cleaning fluid from the tank 1215 and supplythe cleaning fluid to the delivery device 1205 (optional) and themanifold 1200 and its spray holes 1130. In an embodiment, the pump 1210may be designed to pressurize the cleaning fluid for output from themanifold 1200 and holes 1130. A controller 1330 (see FIG. 13A) may beimplemented to initiate or drive the pump 1210 (and/or fluid cleaningdevice) in response to an input command signal (e.g., based on sensedinformation (such as visual information observed by a camera residing inthe environment-proof sensor housing assembly 1120) that is sent to thesensing quality control unit 1310 for sensing quality assessment, asdescribed in greater detail below), thus causing the pump 1210 to pullfluid from tank 1215, pressurize it, and output pressurized cleaningfluid through the delivery device 1205 (e.g., conduit) (if applicable),and through the spray holes 1130 of the manifold 1200 to the slantedsurface 1170.

In an embodiment, as previously mentioned, each of the spray holes 1130may have a valve or a nozzle (not shown) associated therewith. Eachnozzle may be configured such that its output opening is aimed towardsthe slanted surface 1170. When cleaning fluid is pumped into the passageof the manifold 1200, it may be pushed to each nozzle and then sprayedfrom the spray holes 1130 towards and onto the slanted surface 1170.

Referring back to FIG. 11B, along the left vertical side of theframe-like structure 1115, a wiper blade 1140, that is part of a wiperassembly 1220 (see FIG. 12B), may be attached in a manner that the wiperblade is allowed to move up and down along the slanted surface 1170. Thewiper blade may be in slight contact or in a very close proximity to theslanted surface so that it the wiper blade moves, any object protrudedfrom the slanted surface 1170 may be wiped off. Such protruded objectmay correspond to dust, dirt, debris, particle, or any other type ofresidue deposited on the slanted surface from the environment, and/orcleaning fluid provided on the slanted surface 1170 from the fluidcleaning device. The wiper blade 1140 may be motorized and the motor(see, e.g., 1235 of FIG. 12B, described below) may be controlled to movein either direction along the longitude direction of the slanted surface1170. A miniature motor may be installed in, on, or near a track 1135(e.g., embedded inside the left vertical side) of the frame-likestructure 1115 and may be controlled to effectuate needed movement ofthe wiper blade. For example, when cleaning liquid is sprayed out of thehydrophobic spray holes 1130 on the slanted surface 1170 and flows downalong the longitude direction of the slanted surface, the movement ofthe wiper blade 1140 may provide enhanced cleaning of the wetted slantedsurface.

FIG. 12B illustrates an example embodiment of parts of the wiperassembly 1220 used to clean slanted surface 1170. The wiper assembly1220 includes wiper blade 1140 provided on a wiper arm 1225, an actuator1235 (e.g., electric motor), and a transmission system 1230 (optional)for movement, e.g., translational movement, of the wiper arm 1225 andwiper blade 1140. In an embodiment, the wiper blade 1140 is configuredto translate or articulate between a bottom and a top of slanted surface1170 via movement of wiper arm 1225. In an embodiment, the wiper bladeassembly 1220 includes a flexible wiper blade 1140 that is mounted on arigid wiper arm 1225, such that, as the arm 1225 is moved, the flexiblewiper blade 1140 is moved (e.g., translated, in up and down direction)across and along slanted surface 1170. Wiper arm 1225 may be connectedto transmission system 1230, in accordance with an embodiment.Transmission system 1230 is configured to transmit power from theactuator 1235 into motion and move the wiper assembly 1220. For example,transmission system 1230 may include mechanical mechanisms for movingwiper arm 1225 and thus the blade 1140. In an embodiment, transmissionsystem 1230 includes a transfer device for pushing and pulling the wiperarm 1225 along and/or within track 1135. The ends of the wiper arm 1225may be inserted into and secured within track 1135, such that the arm1225 may still be configured to move relative to the track 1135 whenpushed or pulled. In another embodiment, transmission system 1230includes at least one gear mechanism that is configured to be rotatedvia actuator 1235. For example, such a gear mechanism may be configuredfor movement along teeth within a track 1135. In yet another embodiment,transmission system 1230 includes a belt and/or pulley system for movingwiper arm 1225 relative to the track 1135. For example, a gear may beutilized to rotate the belt or pulley and move the wiper arm 1225.Accordingly, while examples of transmission parts may be noted here, thetype of mechanisms and/or transmission system for moving the wiper arm1225 within and relative to the track 1135, and thus the wiper blade1140 along slanted surface 1170, are not intended to be limiting.Further, transmission system 1230 need not be provided. In oneembodiment, the actuator or motor 1235 may be connected to the wiper arm1224 and blade 1140.

Controller 1340 (see FIG. 13A) may be implemented to initiate or drivethe wiper assembly 1220 in response to an input command signal (e.g.,based on detection of implementation of/delivery of fluid from the fluidcleaning device, and/or based on sensed information sent to the sensingquality control unit 1310 for sensing quality assessment, described ingreater detail below), thus causing the wiper arm 1225 to translate orarticulate between a bottom and a top of slanted surface 1170. In oneembodiment, the wiper assembly 1220 may be controlled along with use ofthe spray manifold 1200; e.g., the wiper arm 1225 may be utilized duringand/or after cleaning fluid is sprayed onto slanted surface 1170.

In accordance with another embodiment, the wiper arm 1225 and blade 1140are configured to articulate about a pivot point, much like a standardwindshield wiper system for a vehicle windshield. For example, a motoror actuator 1235 may be connected to the wiper arm 1225 which isconfigured for reciprocation or oscillation about a pivot point (e.g.,at a center point) along track 1135. The arm 1225 may be connected to arotatable shaft at said pivot point and may be configured to rotateabout its pivot axis to thus pivot wiper arm 1225 back and forth betweentwo positions.

In addition to the spray holes 1130 and the wiper blade 1140, anadditional mechanism to clean the slanted surface 1170 may beintroduced. For example, as seen in FIG. 11B, an air hose 1150, which ispart of an air blower assembly 1240 (see FIG. 12C), may also be attachedto the frame-like structure 1115 to enable the operation of blowing offsolid deposits (e.g., debris, particles) from the slanted surface 1170.As shown in FIG. 11B, the air hose 1150 is provided at the bottom partof the frame-like structure 1115. Via the air hose, air may be blownfrom the bottom of the slanted surface 1170 in an upward direction toblow off any undesired debris and residuals deposited on the slantedsurface. FIG. 11F illustrates more details associated with the air hose1150, in accordance with an embodiment of the present teaching. As seen,the air hose 1150 may correspond to a structure 1155 or manifold housingan air blow slot 1157. Manifold or structure 1155 may be a body that hasa passage therein that is adapted to receive pressurized air fordelivery through air hole 1150 and towards slanted surface 1170. The airhose structure 1155 may be attached to the bottom side of the frame-likestructure 1115 and connected to a delivery device (schematically shownin FIG. 12C) that is a conduit of air supply from a supply or source1255, where the air from the supply may be pressurized when needed todeliver the air at some velocity through the device. Delivery device1245 may be in the form of a conduit, a tube, a pipe, or a hose, forexample, and is not intended to be limiting. The supply or source 1255may be a container configured to store air, or, alternatively, the airmay be sourced from the surrounding environment. An optional compressor1250 or pump may be connected to the source 1225 and to the deliverydevice 1245. The compressor 1250 may be adapted to pressurize and pumpair from the source 1255 (or environment) and supply the pressurized airto the delivery device 1245 and thus the manifold/structure 1155 and airhole 1150.

An air blow controller 1320 (see FIG. 13A) may be implemented toinitiate or drive the compressor 1250 in response to an input commandsignal (e.g., based on sensed information sent to the sensing qualitycontrol unit 1310 for sensing quality assessment, which is described ingreater detail below), thus causing the compressor 1250 to pressurizethe air and output through the delivery device 1245 (e.g., conduit) (ifprovided), and through the air hole 1150. In an embodiment, each airhole 1150 may be configured such that its output opening is aimedtowards the slanted surface 1170, to push debris upwardly and/oroutwardly and away from slanted surface 1170. In one embodiment, the airblower assembly 1240 may be initiated to blow air towards the slantedsurface 1170 to move cleaning fluid and/or debris therefrom. The air maybe used in addition to or in lieu of the wiper assembly 1220, inaccordance with an embodiment.

While the drawings depict air blow slot 1157 as part of air hose 1150,it should be noted that number of air holes or slots for deliveringpressurized air to the slanted surface 1170 may be provided.

Furthermore, while the drawings and description above refer to the fluidcleaning device and manifold 1200 being provided on top of or above theslanted surface 1170 and the air blower assembly 1240 being on a bottomor below the slanted surface 1170, their locations and describeddirections are not intended to be limiting. That is, the locations ofthe manifold 1200 and air blower assembly 1240 may be switched, i.e.,placed at a bottom and placed at a top, respectively, of the slantedsurface 1170 of the sensor housing assembly 1120. Accordingly, anydescription with regards to the fluids (cleaning fluid, air) and theirdirectional movement (e.g., downward, upward) are intended to beexemplary only and not intended to be limiting.

Accordingly, any of the above described cleaning mechanisms may beprovided alone or in combination on housing assembly 1120. As such, inaddition to providing a sensor housing assembly 1120 on an autonomousvehicle, this disclosure further includes systems for determiningnegative impact on the at least one sensor using a controller, andactivating one or more cleaning devices via the controller in responseto the determined negative impact, the one or more cleaning devicesbeing mounted on the sensor housing assembly and configured to assist incleaning and/or removing debris and/or particles from the sensor housingassembly 1120, and in particular, from the slanted surface 1170.

With the environment-proof sensor housing assembly 1120 with the variouscleaning mechanisms deployed thereon, what is cleaned is the slantedsurface 1170 of the environment-proof sensor housing assembly 1120rather than the sensor housed therein. The cleaning operations may becontrolled based on, e.g., observed quality issues emerged. More detailsrelated to implementation, control, and operation of the cleaningmechanisms described herein will be provided with reference to FIGS.13A-16B.

With alternative implementations of different mechanisms deployed on theenvironment-proof sensor housing assembly 1120, such mechanisms arecontrolled to operate when cleaning is needed. In some embodiments, thecontrol of operation may be based on quality of sensed information. Forinstance, sensed information may be analyzed in terms of sensing qualityin order to make a decision whether the slanted surface 1170 needs to becleaned. FIG. 13A depicts an exemplary embodiment of a systemconfiguration for environment-proof sensing, in accordance with anembodiment of the present teaching. In this exemplary systemconfiguration, a sensor (e.g., a camera) 1125 housed in anenvironment-proof sensor housing assembly 1120 is connected toenvironment-proof sensor system controller 1300, which controls thequality of sensing quality of the sensor. In this exemplary embodiment,the environment-proof sensor system controller 1300 comprises a sensingquality control unit 1310, an air blow controller 1320, a hydrophobicspray controller 1330, and a wiper motor controller 1340.

To facilitate environment-proof quality sensing, the sensor providessensed information (such as visual information observed by a cameraresiding in the environment-proof sensor housing assembly 1120) to thesensing quality control unit 1310 for sensing quality assessment. Basedon the quality of sensed information, the sensing quality control unit1310 may control to activate one or more controllers related todifferent cleaning means to clean the slanted surface 1170. Forinstance, when raindrops are detected in images acquired by a cameraresiding in the assembly 1120, the sensing quality control unit 1310 mayinvoke the wipe motor controller 1340 to activate the motor driving thewiper blade 1140 to wipe off the rain drops on the slanted surface 1170.In some situations, the sensing quality control unit 1310 may alsoactivate the hydrophobic spray controller to initiate the hydrophobicspray the cleaning fluid while the wipe is wiping the slanted surface1170 to enhance the cleaning effect. To achieve that, the hydrophobicspray controller 1130 may control the states of valves associated withthe hydrophobic holes and the pressure of the fluid supply. If debrisare observed from the images from the camera (e.g., objects consistentlydetected in different frames without any change or movement), thesensing quality control unit 1310 may invoke the air blow controller1320 to activate the air hose 1150 to blow off the debris deposited onthe slanted surface 1170.

For operation, the sensing quality control unit 1310 is connected to theair blow controller 1320, the hydrophobic spray controller 1330, and thewipe motor controller 1340 and invokes appropriate controllers in theevent that cleaning is warranted. Once invoked, a controller may thencontrol the associated cleaning mechanism to clean the slanted surface1170. FIG. 13B is a flowchart of an exemplary process of theenvironment-proof sensor system controller 1300, in accordance with anembodiment of the present teaching. To assess the quality of sensedinformation, the environment-proof sensor system controller 1300 firstreceives, at 1350, information sensed by the sensor residing in thehousing 1200. The received sensed information is then analyzed at 1355in order to determine whether the quality of the sensed informationwarrants a cleaning of the slanted surface 1170. If no cleaning isneeded, determined at 1360, the environment-proof sensor systemcontroller 1300 loops back to 1350 to continually receive sensedinformation from the sensor.

If a cleaning is warranted, determined at 1360, the environment-proofsensor system controller 1300 determines, at 1365, what types ofcleaning need to be applied. Such a determination may be made based onthe type and severity of quality degradation in the received sensorobservations in accordance with some pre-determined rules. For example,if degradation is related to rain drops on the slanted surface, wipingusing wiper blade 1140 may solve the problem. If the level or severityof such degradation is significant, the wiper blade 1140 and thehydrophobic spray 1130 may be simultaneously needed. If the degradationseems to be caused by dust/debris deposited on the slanted surface 1170,then the air hose 1150 may be needed to blow off the dust/debris. Insome embodiments, subsequent to applying air hose 1150 to blow offdust/debris, additional means to clean the slanted surface may followbecause, dust/debris depositions may leave undesirable marks on thesurface affecting the quality of observations made through the slantedsurface 1170. In some situations, the environment-proof systemcontroller 1300 may first apply the air hose to blow off dust/debriswhen detected and then monitor whether it satisfactorily remove thedegradation without more cleaning. If it further observed that thedegradation still exists (even though it may have been reduced via airhose 1150), the environment-proof system controller 1300 may then invokeadditional cleaning using either the wiper blade 1140 and/or thehydrophobic spray 1130. So, the control may be set with intelligentdecisions made adaptively based on situations.

Depending on the types of cleaning needed to reduce degradation, theenvironment-proof system controller 1300 may then proceed to devise, at1370, a cleaning configuration or schedule, e.g., when to apply whichcleaning means for how long. Based on the configuration/schedule forapplying the needed cleaning, the environment-proof system controller1300 then generates, at 1375, control signals to implement the cleaningschedule and sends, at 1380, the control signals to the controller(s)responsible for controlling the cleaning means to carry out thescheduled cleaning.

FIG. 14A shows exemplary causes that give rise to a need to clean thesensor assembly and exemplary configurations to clean, in accordancewith an embodiment of the present teaching. In this illustration,exemplary causes that give rise to a need to clean the slanted surfaceinclude rain drops, debris deposited, and dust accumulation. For eachcause, a series of cleaning activities may be configured. For instance,to remove rain drops, there may be two cleaning activities that areconfigured as step 1 and step 2, where step 1 involves activating thehydrophobic spray 1130 of fluid, and step 2 involves activating thewiper blade 1140 to wipe the wetted surface to remove the rain drops.The two steps may also temporally space with an appropriate delay.Similarly, for remove debris deposited on the slanted surface 1170, theair hose 1150 may be first applied as step 1 to blow off the debris.This may be followed by the second operation to remove the stain(s) onthe surface due to the debris, which may include applying thehydrophobic spray as the first sub-step followed by wiping using thewipe blade as the second sub-step of the second operation. The samecleaning steps may also be applied to remove dust, as shown in FIG. 14A.

FIGS. 14B-14C depict exemplary implementation of the environment-proofsystem controller 1300. FIG. 14B depicts an exemplary high level systemdiagram of the environment-proof system controller 1300, in accordancewith an embodiment of the present teaching. To fulfill the desiredfunctionalities as disclosed herein, the environment-proof systemcontroller 1300 comprises a sensor data feature extractor 1400, adegradation cause classifier 1410, a cleaning need determiner 1420, acleaning activity configuration unit 1430, a cleaning activity scheduler1440, a cleaning tool parameter analyzer 1450, and a cleaning controlsignal generator 1460. FIG. 14C is a flowchart of an exemplary processof the environment-proof system controller 1300, in accordance with anembodiment of the present teaching. Different components disclosed inFIG. 14B that are included in the environment-proof system controller1300 perform the process as described in FIG. 14C to achieve thefunctions of applying appropriate cleaning to the environment-proofsensor housing assembly 1120.

In operation, the sensing quality control unit 1310 functions to applyneeded cleaning to the environment-proof sensor housing assembly tominimize the negative impact on sensing quality from the environment. Itmay carry out a procedure to implement the cleaning. For example, it mayfirst detect that such a need exists and then determine what type(s) ofcleaning is needed (e.g., wipe or air blow). This may be followed by adetermination as to which cleaning tools are to be activated to carryout the needed cleaning. To implement the cleaning, the sensing qualitycontrol unit 1310 may also proceed, optionally, to schedule differentcleaning activities (e.g., when to apply which cleaning tool for howlong) to carry out the cleaning. Finally, to actually control thecleaning tools to carry out the scheduled cleaning, appropriate controlsignals for different cleaning tools may be generated and used toactivate the selected cleaning tools.

There may be different ways to determine that there is a need forcleaning. In some embodiments, cleaning may be carried out routinelyaccording to a schedule. In some embodiments, the need for cleaning maybe determined based on the situation. For instance, as discussed hereinwith respect to FIG. 11A, degradation in acquired images may be detectedand a need for cleaning may be determined when the degradation isestimated caused by undesired objects from the environment (e.g., raindrops, small particles, etc.) deposited on the slanted surface. In someembodiments, a mixed mode of operation may also be employed. While thereis a pre-determined schedule, dynamically detected degradation may alsotrigger cleaning. For example, it may be set up that in normalsituations, cleaning may be carried out according to a schedule (e.g.,every 24 hours when the vehicle is traveling and every week when thevehicle is not traveling). This set up may be put in place in parallelwith a dynamic set up by which cleaning may also be triggered wheneverdegradation is observed and is assessed to be related to deposit ofundesired objects on the assembly. In this situation, the dynamicallydetermined cleaning decision trumps the normal schedule so that theassembly may be cleaned promptly when there is a need. In FIG. 14B, thecleaning need determiner 1420 is provided to identify a need forcleaning. As seen, it may retrieve, from a cleaning activity schedulestorage 1470, a set up for regular/normal cleaning, and determines,based on, e.g., a reading from a timer, whether a cleaning operationneeds to be activated. It may also invoke the sensor data featureextractor 1400 and the degradation cause classifier 1410 to identifypossible degradations present in the sensed information and a causeestimated based on, e.g., degradation class specifications stored in1415. If a cause for detected degradation warrants a cleaning, thecleaning need determiner 1420 may then proceeds to activate the cleaningoperation.

When a cleaning decision is to be made based on detected degradation,the cleaning need determiner when the sensor data feature extractor 1400receives, at 1435, the sensed information from a sensor residing withinan environment-proof sensor housing assembly, it extracts, at 1445,relevant features from the sensed information. Relevant features to beextracted may be determined based on the type of sensor that providesthe sensed information. For example, if the sensor at issue is a camera,relevant features to be extracted may include edges and features thereofand characteristics of objects such as shapes, sizes, and motions of therespective objects. Such extracted features may be used for assessingpossible degradation of the sensed information caused by, e.g.,environmental impact. For instance, in detecting edges in an image,features related to the edges may be analyzed and used to determinewhether the image is blurred.

Characteristics of an object detected from an image may also be used todetermine whether the object corresponds to a real object or a depositon the slanted surface. If an object is considered not corresponding toan actual object, this object has caused degradation in sensedinformation and therefore needs to be removed. There may be differentways to determine whether an object is a real object or not. Forexample, if an object is persistently detected in all frames of a videoat the same location with the same shape and size, it is likely a debrison the slanted surface 1170. If such an object is observed to split intomultiple pieces that move from frame to frame in a video in differentdirections inconsistent with known motions of a real object observablein the field of view of an autonomous vehicle, e.g., a rain drop maydrip in a vertical direction (rain drops may travel along the slantedsurface in the longitude direction), such information may be used toassess whether some objects may correspond to rain drops.

Based on the features extracted from the sensed information, thedegradation cause classifier 1410 determines and classifies, at 1455,the degradation and the cause(s) thereof. Accordingly, the cleaning needdeterminer 1420 determines, at 1465, the needed cleanings based on,e.g., cleaning criteria profiles stored in 1425 (examples of which areprovided in FIG. 14A). For the needed cleanings, the cleaning activityconfiguration unit 1430 generates, at 1467, a configuration for theinvolved cleaning activities. As shown in FIG. 14A, for reducing thedegradation caused by debris, the air hose 1150 is to be applied tophysically remove the debris and then followed by the step of stainremoval which involves two sub-steps of hydrophobic spray and wiping theslanted surface using the wiper blade 1140. The configuration generated(by the cleaning activity configuration unit 1430) may include aspecification of the specific tools to be applied and a time sequence ofthe applications of different tools.

The configuration generated may then be used by the cleaning activityscheduler 1440 to generate, at 1495, a schedule for the next cleaningevent. Such a schedule may be generated based on knowledge of how eachof the cleaning means (spray, wipe, and blow) works and parametersassociated with the specific means deployed on the environment-proofsensor housing assembly 1120. For example, the time needed for cleaningfluid to drip from the holes to cover the slanted surface may be used todetermine how many seconds the hydrophobic spray holes need to be kepton. Such information is stored in a cleaning tool profile storage 1460and is accessed by the cleaning tool parameter analyzer 1450 to analyzeand devise, at 1475, recommendations on how each cleaning tool to bedeployed may be activated according to some operational parameters toachieve the intended goal. The recommendations devised by the cleaningtool parameter analyzer 1450 may then be provided to the cleaningactivity scheduler 1440 to facilitate it to generate, at 1485, anappropriate schedule specifying how to activate each of the cleaningtools to be invoked to clean.

The cleaning activity schedule derived from the cleaning activityscheduler 1440 may specify a temporal sequence of sub-events, each ofwhich may correspond to an application of one cleaning tool to be usedto clean. The schedule may also specify a specific time or duration bywhich each of the cleaning tools is to be operational. The devisedschedule may be stored, upon being generated, in a cleaning activityschedule storage 1470. Each cleaning activity schedule stored in 1470may be accessed by the cleaning control signal generator 1460 to firstoptionally check, at 1495, whether it is the scheduled time forcleaning. If so, the cleaning control signal generator 1460 accordinglygenerates, at 1497, corresponding control signals that can be used toimplement the scheduled cleaning activities. Such control signals arethen be sent, at 1499, from the cleaning control signal generator 1460to corresponding controllers that may then control their respectivecleaning tools to carry out the scheduled cleaning. This is illustratedin FIG. 13A. To carry out the sub cleaning events in a temporal sequenceas scheduled, the control signals may be sent to different controllersat different times according to the schedule to ensure the propertemporal sequence of different cleaning steps.

As an example, to remove debris deposited on the slanted surface 1170,cleaning activities to be applied may involve, as shown in FIG. 14A,blow off the debris, wet the slanted surface 1170, and then wipe the wetslanted surface to clean any stain from the debris. Form such cleaningactivities, a configuration may be generated that specifies that airhose 1150 is first applied to blow off the debris, the hydrophobic spray1130 is secondly applied to wet the slanted surface 1170, and the wiperblade 1140 is last applied to the wet slanted surface to wipe off anystain that the debris may have left. A schedule corresponding to thisconfiguration may specifically instruct a temporal sequence of theevents, e.g., to apply the air hose 1150 to blow for 5 seconds, thenrelease the cleaning fluid from the spray hoses 1130 for 3 seconds,finally activate the motor for the wiper blade 1140 at a slow motion for15 seconds.

According to this schedule, the cleaning control signal generator 1460may then generate and send different control signals directed tocorresponding controllers at different times. With this example, thecleaning control signal generator 1460 may then generate three controlsignals. The first one is directed to the air blow controller 1320; thesecond one is directed to the hydrophobic spray controller 1330; thethird control signal is directed to the wipe motor controller 1340. Thefirst control signal includes instructions to the air blow controller1320 to control the air hose to blow for 5 seconds. The second controlsignal includes instructions to the hydrophobic spray controller 1330 tocontrol the spray holes (and the associated valves and pressure) torelease cleaning fluid for 3 seconds. The third control signal includesthe instructions to the wipe motor controller 1340 to control the wipemotor to drive the wiper blade 1140 at a certain speed to wipe theslanted surface 1170 for 15 seconds. To control the temporal sequence,the cleaning control signal generator 1460 may send the first controlsignal out first to the sir blow controller 1320, the second controlsignal 5 seconds later to the hydrophobic spray controller 1330, andfinally the third control signal 3 seconds later to the wipe motorcontroller 1340.

As discussed herein, in some embodiments, the sensing quality controlunit 1310 may alternatively elect a cleaning schedule to be enforcedregardless of what the sensed information reveal. For instance, thecleaning activity schedule storage 1470 may store a default cleaningschedule which may specify a fixed interval cleaning schedule, e.g., toperform a sequence of cleaning steps every 2 hours while the vehicle ismoving and perform the same sequence of cleaning steps each time uponthe vehicle is turn on and start to move. The sensing quality controlunit 1310 may be configured to self-execute such a default cleaningschedule in normal situations unless the operational mode is switched toan adaptive cleaning mode where cleaning is only activated whendegradation is detected, as discussed above. Steps 1495-1499 form a loopthat corresponds to the fixed interval cleaning schedule. As shown, inthis loop, the cleaning control signal generator 1460 may access thedefault schedule stored in storage 1470 and checks, at 1495, against atimer to see if it is time to execute the cleaning. When it is at thespecified fixed time interval, the cleaning control signal generator1460 generates, at 1497, the control signals corresponding to thescheduled cleaning activities in the order of the specified temporalsequence (as discussed above) and then send, at 1499, the generatedcontrol signals to appropriate controllers (1320, 1330, . . . , and1340) in the specified temporal sequence to carry out the scheduledcleaning activities. The process continues to loop back so that theenvironment-proof sensor housing assembly can be regularly cleaned.

In some embodiments, the fixed-interval cleaning mode and adaptivecleaning mode may be used in a mixed manner. For instance, thefixed-interval cleaning mode may be a default mode. At the same time,the components provided for carrying out the adaptive cleaning operation(the sensor data feature extractor 1400, the degradation causeclassifier 1410, the cleaning need determiner 1420. The cleaningactivity scheduler 1440, the cleaning tool parameter analyzer 1450) maycontinue to operate to determine whether there is any cleaning needed.If there is, then an adaptive cleaning schedule is created and carriedout. This adaptive cleaning schedule may or may not preempt the defaultcleaning schedule. Through the mechanism discussed herein, the qualityof sensed information may be enhanced against any negative impact fromthe environment.

As discussed herein, in some embodiments, multiple sensors may bemounted on a sensor rack, which may then be installed on a vehicle toprovide different types of sensor information to the vehicle tofacilitate autonomous driving. The discussion above is directed to asensor housing assembly for an individual sensor. Similar conceptsdiscussed herein for environment-proof sensing quality control may beapplied to a sensor rack with appropriate modifications. FIG. 15 depictsan exemplary sensor rack 1510 with a sensor rack cover 1520 thereon, inaccordance with an embodiment of the present teaching. Compared with thesensor rack in FIG. 6 having multimodal sensors mounted thereon, thesensor rack 1510 has a cover 1520 to prevent, e.g., debris, rain, snow,dust, etc. to be deposited on the sensors directly. As discussed herein,although the sensors 1530 are protected by the cover, the cover itselfmay also be subject to the negative impact of the environment. Thus, theneed for cleaning the cover exists.

The sensor rack cover 1520 as illustrated in FIG. 15 differs from theenvironment-proof sensor housing assembly 1120 in several aspects.First, the exemplary sensor rack cover 1520 has an extended length withturns, e.g., 1540-1 and 1540-2. Such turns are necessary when the rackturns, which has advantage of installing sensors that can observeinformation from different directions. In addition, the sensor rackcover 1520 has curved surface. While it is possible to use flat surfacessuch as the environment-proof sensor housing assembly 1120, there may becertain advantages of having curved surfaces. For example, with a curvesurface, it is less likely for debris to stay on the cover, especiallywhen the vehicle is in motion. While a cover with curved surface mayreduce the chance for debris to stay on, there may still be a need tointroduce mechanisms to allow cleaning the cover when there is a need.The environment-proof sensor housing assembly as disclosed herein may beapplied to the sensor rack cover 1520.

FIG. 16A shows an exemplary construct 1600 with a curved structureembedded with a cleaning mechanism, in accordance with an embodiment ofthe present teaching. The construct 1600 is the same as the combinationof 1170 and 1115 with embedded cleaning tools except that 1600 is curvedalong a longitude direction. The construct 1600 has a frame-likestructure 1620. The two parallel sides of frame 1620 in the longitudedirection are identically curved. Between the two parallel sides offrame 1620, there may or may not be a curved surface. As shown, theframe-like structure 1620 is attached with different tools/means thatcan be controlled to carry out cleaning related tasks. This includeshydrophobic spray holes 1630 on top of the 1620, a wiper blade 1640 thatcan be motorized to move up and down along a track in the frame, and anair hose 1650 at the bottom of the structure 1620 to blow air in anupward direction. To motorize the wiper blade 1640, a motor may beembedded in one of the parallel sides in the longitude direction todrive the wiper blade's movement. When there is a curved surface 1610between these two parallel side in the longitude direction of the 1620,when the wiper blade 1640 moves, it wipes clean the curved surface 1610.In some embodiments, there may be no curved surface 1610. In theseembodiments, the construct 1600 may still be used to clean whatevercurved surface of a structure that 1600 is placed on. This is shown inFIG. 16B.

FIG. 16B depicts how the cleaning mechanism shown in FIG. 16A may beused in conjunction with a sensor rack cover 1520 to provideenvironment-proof sensor rack assembly, in accordance with an embodimentof the present teaching. In this illustrated embodiment, sensor rack1510 as shown in FIG. 15 has a cover 1520 thereon to protect varioussensors 1530 (e.g., 1530-1 and 1530-2). Although sensors are covered andprevent environmental related objects (rains, debris, dust, etc.), thecover 1520 is not. The sensor rack cover 1520 may still be negativelyimpacted by the environment. To address this, the mechanism as depictedin FIG. 16A may be used to provide section-based environment-proofcleaning mechanisms for each portion of the sensor rack cover 1520associated with individual sensors the portion covers. For example,there are two exemplary cleaning mechanisms (e.g., 1600-1 and 1600-2)are shown to be attached on portions of the sensor rack cover 1520 toprovide the cleaning means to sensor 1530-1 and 1530-2, respectively.Each cleaning mechanism has a corresponding frame-like structure (i.e.,1620-1 and 1620-2) that fits (e.g., the curvature of the frame of eachcleaning mechanism is the same as the curvature of the sensor rack cover1520) a portion of the sensor rack cover 1520 that is in alignment witha respective sensor (e.g., 1530-1 and 1530-2), respectively.

In some embodiments, a cleaning mechanisms (1600-1 or 1600-2) may have acurved surface (e.g., 1610-1 and 1610-2) that closely fit the curvedsurface of the sensor rack cover 1520. In this situation, each cleaningmechanism is deployed to ensure the quality of sensing by thecorresponding sensor by cleaning its own curved surface. Such aconfiguration achieves environment-proof effect because of the fitbetween the cleaning mechanism and the sensor rack cover. In someembodiments, a cleaning mechanism may not have its own curved surface.When the cleaning mechanism is attached by fitting to the curved surfaceof the sensor rack cover 1520, it may be used to clean the directlyportion of the sensor rack cover within its frame.

The cleaning mechanism 1600 functions in a similar manner as discussedherein with reference to FIGS. 12A-14C. As seen in FIG. 16B, thecleaning mechanism 1600-1 is deployed to ensure environment-proofsensing quality of sensor 1530-1 and includes hydrophobic spray holes1630-1, a wiper blade 1640-1, and an air hose 1650-1. These tools may besimilarly embedded in the frame-like structure 1600-1 and controlled ina similar manner as what is discussed herein to cleaning the enclosedcurved surface (whether it is directly a portion of the curved surfaceof the sensor rack cover or not). Similarly, the cleaning mechanism1600-2 is deployed to ensure environment-proof sensing quality of 1530-2and includes hydrophobic spray holes 1630-2, a wiper blade 1640-2, andan air hose 1650-2, all of which may be controlled in a similar manneras discussed herein. Depending on the level of the sensors, the wiperblades may be controlled to clean in an appropriate range for eachsensor. In this configuration, the air hose may be effective to blow offthe residuals along the substantially vertical portion of the curvedsurface.

In some situations, sun glare (or light glare) may be an issue that cancause degradation in sensing accurate surrounding information. FIGS. 17Aand 17B show exemplary embodiments of a glare blocking mechanism 1700 toaddress this in the context of the environment-proof sensor or sensorrack assembly, associated with the previously described housing assembly1120. FIGS. 17A-B illustrate examples of glare blocking mechanism 1700that may be mounted to and/or on the sensor housing assembly andconfigured to assist in blocking glare with respect to the at least onesensor therein. The sun glare blocking mechanism 1700 may be provided,for example, above the air hose, on housing assembly 1120 and/or thesensor rack assembly, in accordance with an embodiment. In an accordancewith an embodiment, in a case where the sensor housing assemblycomprises a slanted surface, the glare blocking mechanism may be mountedabove the slanted surface. In an embodiment, the sensor in the housingassembly as shown in FIGS. 17A-B may include a camera with its lensfacing the slanted surface, such as shown in FIGS. 11B and 11F (seehousing assembly 1120, surface 1170, and camera 1125). The glareblocking mechanism is configured to block sun glare from the sun orother glare such as a light glare from street lights, highway overheadlights or lighting, and other lights, signs, vehicles, etc. that mayprovide negative impact in the form of glare to the at least one sensor(e.g., camera) within the sensor housing assembly. A controller (notexplicitly shown in FIG. 17A or FIG. 17B) for determining negativeimpact from the environment, including glare, on the at least one sensormay be used to activate the glare blocking mechanism 1700 in response toany such determined negative impact, and, in particular, in response toa determination of glare that may affect readings by the at least onesensor and/or autonomous driving of the vehicle.

In accordance with embodiments, the glare blocking mechanism isconfigured for movement between a first retracted position, that doesnot inhibit any viewing by the sensor and/or inhibit any glare, and atleast a second extended position in order to block the glare, whileallowing the at least one sensor to capture accurate information. In oneembodiment, the glare blocking mechanism includes a shade mounted to thesensor housing assembly. The shade may be configured for movementbetween the first retracted position and any of the at least secondextended position. In one embodiment, the shade comprises a body in arolled assembly, the body comprising a first end and a second end, thefirst end being secured relative to the sensor housing assembly andwherein the second end configured to be moved towards and away from therolled assembly, such that the body is configured to be rolled andunrolled about an axis. In the first retracted position, the shade isrolled into the rolled assembly with the second end being providedadjacent to the rolled assembly. In the at least second extendedposition, the shade is at least partially unrolled from the rolledassembly such that the second end is provided distal from and extendingway from both the rolled assembly and the sensor housing assembly sothat the body of the shade assists in blocking glare with respect to theat least one sensor. In another embodiment, the shade is mounted on anaxle such that its body is configured to flip and rotate about an axisof the axle, the axle being positioned on an end of the sensor housingassembly. In the first, retracted position, the body of the shade ispositioned against the sensor housing assembly, and in the at leastsecond, extended position, the body of the shade extends away from thesensor housing assembly and assists in blocking glare with respect tothe at least one sensor.

Specifically, FIGS. 17A-B shows an example of a shade 1720 that may beelectrically operated such that its body is designed to extend a lengthL from an edge of the housing assembly (over slanted surface 1170)and/or sensor rack assembly, with its second end 1725 being placeddistally from and extending away from the axle and axis A-A, such thatany sun or glare from the sun (or environment, e.g., overhead lights)above may be blocked by the shade 1720. In one embodiment, the shade1720 is a collapsible shade that is configured to be moved between aretracted position (storage or undeployed position, wherein the shade isnot activated) and an extended position (or deployed position) whereinthe shade is designed to block the sun glare from the sun (or otherglare) while allowing the sensor to capture information. For example,the collapsed shade may be provided in the form of a retractable (e.g.,rolled) assembly (see FIG. 17A) that is rolled and unrolled from a roll1730 (mounted on the sensor housing assembly) about axis A-A via anactuator 1510 or electric motor between the retracted and extendedpositions. The actuator 1510 or motor is controlled via the controller,e.g., activated when glare is determined to have a negative impact onthe sensor/camera and/or driving of the vehicle.

As noted, in another embodiment, the shade 1720 may be designed to bemounted to the sensor housing assembly such that its body is configuredto rotate and flip back and forth about an axle provided axis A-A. Thesefeatures and this embodiment is also represented in FIG. 17B, i.e., theshade 1720 may be configured to move from a first, stored (retracted)position (e.g., on top of housing assembly 1120 or behind rack cover1520, as shown in dashed lines in FIG. 17B) to a second, extended(in-use) position (e.g., as shown in FIG. 17B, wherein the length of theshade 1720 extends from the edge and second end 1725 being placeddistally from and extending away from the axle and axis A-A), viaactuator 1510 or motor.

FIG. 18 is an illustrative diagram of an exemplary mobile devicearchitecture that may be used to realize a specialized systemimplementing the methods of protecting sensors and sensor assembly asdisclosed in the present teaching in accordance with variousembodiments. In this example, a device on which the present teaching isimplemented corresponds to a mobile device 1800, including, but is notlimited to, a smart phone, a tablet, a music player, a handled gamingconsole, a global positioning system (GPS) receiver, and a wearablecomputing device (e.g., eyeglasses, wrist watch, etc.), or in any otherform factor. Mobile device 1800 may include one or more centralprocessing units (“CPUs”) 1840, one or more graphic processing units(“GPUs”) 1830, a display 1820, a memory 1860, a communication platform1810, such as a wireless communication module, storage 1890, and one ormore input/output (I/O) devices 1840. Any other suitable component,including but not limited to a system bus or a controller (not shown),may also be included in the mobile device 1800. As shown in FIG. 18 amobile operating system 1870 (e.g., iOS, Android, Windows Phone, etc.),and one or more applications 1880 may be loaded into memory 1860 fromstorage 1890 in order to be executed by the CPU 1840. The applications1880 may include suitable mobile apps for managing the tasks related tothe present teaching on mobile device 1800. User interactions may beachieved via the I/O devices 1840.

To implement various modules, units, and their functionalities describedin the present disclosure, computer hardware platforms may be used asthe hardware platform(s) for one or more of the elements describedherein. The hardware elements, operating systems and programminglanguages of such computers are conventional in nature, and it ispresumed that those skilled in the art are adequately familiar therewithto adapt those technologies to appropriate settings as described herein.A computer with user interface elements may be used to implement apersonal computer (PC) or other type of workstation or terminal device,although a computer may also act as a server if appropriatelyprogrammed. It is believed that those skilled in the art are familiarwith the structure, programming and general operation of such computerequipment and as a result the drawings should be self-explanatory.

FIG. 19 is an illustrative diagram of an exemplary computing devicearchitecture that may be used to realize a specialized systemimplementing various functionalities related to the present teaching inaccordance with various embodiments. Such a specialized systemincorporating the present teaching has a functional block diagramillustration of a hardware platform, which includes user interfaceelements. The computer may be a general purpose computer or a specialpurpose computer. Both can be used to implement a specialized system forthe present teaching. This computer 1900 may be used to implement anycomponent of conversation or dialogue management system, as describedherein. For example, various functions associated with the presentteaching may be implemented on a computer such as computer 1900, via itshardware, software program, firmware, or a combination thereof. Althoughonly one such computer is shown, for convenience, the computer functionsrelating to the conversation management system as described herein maybe implemented in a distributed fashion on a number of similarplatforms, to distribute the processing load.

Computer 1900, for example, includes COM ports 1950 connected to andfrom a network connected thereto to facilitate data communications.Computer 1900 also includes a central processing unit (CPU) 1920, in theform of one or more processors, for executing program instructions. Theexemplary computer platform includes an internal communication bus 1910,program storage and data storage of different forms (e.g., disk 1970,read only memory (ROM) 1930, or random access memory (RAM) 1940), forvarious data files to be processed and/or communicated by computer 1900,as well as possibly program instructions to be executed by CPU 1920.Computer 1900 also includes an I/O component 1960, supportinginput/output flows between the computer and other components thereinsuch as user interface elements 1980. Computer 1900 may also receiveprogramming and data via network communications.

Hence, aspects of the methods of dialogue management and/or otherprocesses, as outlined above, may be embodied in programming. Programaspects of the technology may be thought of as “products” or “articlesof manufacture” typically in the form of executable code and/orassociated data that is carried on or embodied in a type of machinereadable medium. Tangible non-transitory “storage” type media includeany or all of the memory or other storage for the computers, processorsor the like, or associated modules thereof, such as varioussemiconductor memories, tape drives, disk drives and the like, which mayprovide storage at any time for the software programming.

All or portions of the software may at times be communicated through anetwork such as the Internet or various other telecommunicationnetworks. Such communications, for example, may enable loading of thesoftware from one computer or processor into another, for example, inconnection with conversation management. Thus, another type of mediathat may bear the software elements includes optical, electrical andelectromagnetic waves, such as used across physical interfaces betweenlocal devices, through wired and optical landline networks and overvarious air-links. The physical elements that carry such waves, such aswired or wireless links, optical links or the like, also may beconsidered as media bearing the software. As used herein, unlessrestricted to tangible “storage” media, terms such as computer ormachine “readable medium” refer to any medium that participates inproviding instructions to a processor for execution.

Hence, a machine-readable medium may take many forms, including but notlimited to, a tangible storage medium, a carrier wave medium or physicaltransmission medium. Non-volatile storage media include, for example,optical or magnetic disks, such as any of the storage devices in anycomputer(s) or the like, which may be used to implement the system orany of its components as shown in the drawings. Volatile storage mediainclude dynamic memory, such as a main memory of such a computerplatform. Tangible transmission media include coaxial cables; copperwire and fiber optics, including the wires that form a bus within acomputer system. Carrier-wave transmission media may take the form ofelectric or electromagnetic signals, or acoustic or light waves such asthose generated during radio frequency (RF) and infrared (IR) datacommunications. Common forms of computer-readable media thereforeinclude for example: a floppy disk, a flexible disk, hard disk, magnetictape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any otheroptical medium, punch cards paper tape, any other physical storagemedium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave transporting data orinstructions, cables or links transporting such a carrier wave, or anyother medium from which a computer may read programming code and/ordata. Many of these forms of computer readable media may be involved incarrying one or more sequences of one or more instructions to a physicalprocessor for execution.

Those skilled in the art will recognize that the present teachings areamenable to a variety of modifications and/or enhancements. For example,although the implementation of various components described above may beembodied in a hardware device, it may also be implemented as a softwareonly solution—e.g., an installation on an existing server. In addition,the fraudulent network detection techniques as disclosed herein may beimplemented as a firmware, firmware/software combination,firmware/hardware combination, or a hardware/firmware/softwarecombination.

While the foregoing has described what are considered to constitute thepresent teachings and/or other examples, it is understood that variousmodifications may be made thereto and that the subject matter disclosedherein may be implemented in various forms and examples, and that theteachings may be applied in numerous applications, only some of whichhave been described herein. It is intended by the following claims toclaim any and all applications, modifications and variations that fallwithin the true scope of the present teachings.

What is claimed is:
 1. A system comprising: an assembly mountable on avehicle, the assembly configured to house at least one sensor; acontroller for determining an environmental impact on the at least onesensor; and a mechanism connectable to the assembly and activatable toblock the environmental impact in response to the controller, themechanism associated with an undeployed position and a plurality ofdeployed positions, wherein a substantially flat portion of themechanism is i) extendable during transition from the undeployedposition to a deployed position and ii) retractable during transitionfrom a deployed position to the undeployed position.
 2. The system ofclaim 1, wherein the environmental impact is glare on the at leastsensor.
 3. The system of claim 1, wherein the mechanism comprises anactuator commanded by the controller.
 4. The system of claim 1, whereinthe mechanism is activatable based on a determination of theenvironmental impact on readings by the at least one sensor.
 5. Thesystem of claim 1, wherein the mechanism is a rollable shade.
 6. Thesystem of claim 5, wherein the rollable shade is not extended in theundeployed position.
 7. The system of claim 5, wherein the rollableshade is at least partially unrolled in the plurality of deployedpositions.
 8. The system of claim 5, wherein the rollable shade isrotatable about an axis.
 9. The system of claim 8, wherein orientationof the axis is unchanged in the undeployed position and the plurality ofdeployed positions.
 10. The system of claim 1, wherein the mechanism ispositioned above a slanted surface of the assembly.
 11. The system ofclaim 1, wherein a distance between an end of the mechanism and theassembly increases during transition from the undeployed position to adeployed position.
 12. The system of claim 1, wherein a distance betweenan end of the mechanism and the assembly decreases during transitionfrom a deployed position to the undeployed position.
 13. Acomputer-implemented method comprising: determining an environmentalimpact on at least one sensor of an assembly mounted on a vehicle; andactivating a mechanism connected to the assembly to block theenvironmental impact, the mechanism associated with an undeployedposition and a plurality of deployed positions, wherein a substantiallyflat portion of the mechanism is i) extendable during transition fromthe undeployed position to a deployed position and ii) retractableduring transition from a deployed position to the undeployed position.14. The computer-implemented method of claim 13, wherein theenvironmental impact is glare on the at least one sensor.
 15. Thecomputer-implemented method of claim 13, wherein the mechanism comprisesan actuator commanded by a controller.
 16. The computer-implementedmethod of claim 13, wherein the mechanism is activatable based on adetermination of the environmental impact on readings by the at leastone sensor.
 17. A non-transitory computer-readable storage mediumincluding instructions that, when executed by at least one processor ofa computing system, cause the computing system to perform operationscomprising: determining an environmental impact on at least one sensorof an assembly mounted on a vehicle; and activating a mechanismconnected to the assembly to block the environmental impact, themechanism associated with an undeployed position and a plurality ofdeployed positions, wherein a substantially flat portion of themechanism is i) extendable during transition from the undeployedposition to a deployed position and ii) retractable during transitionfrom a deployed position to the undeployed position.
 18. Thenon-transitory computer-readable storage medium of claim 17, wherein theenvironmental impact is glare on the at least one sensor.
 19. Thenon-transitory computer-readable storage medium of claim 17, wherein themechanism comprises an actuator commanded by a controller.
 20. Thenon-transitory computer-readable storage medium of claim 17, wherein themechanism is activatable based on a determination of the environmentalimpact on readings by the at least one sensor.